Assertion failure: ok (FrameMaintainsOverflow() != ComputeCustomOverflow())
Categories
(Core :: Layout, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox65 | --- | wontfix |
firefox66 | --- | wontfix |
firefox67 | --- | fixed |
People
(Reporter: tsmith, Assigned: violet.bugreport)
References
(Blocks 1 open bug)
Details
(Keywords: assertion, testcase)
Attachments
(2 files)
Comment 1•7 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
There is some inconsistency between nsIFrame::FrameMaintainsOverflow() and
nsSVGContainerFrame::ComputeCustomOverflow(). If an element is a nondisplay
outer SVG, the latter gives false while the former returns true. We make them
consistent since nondisplay element doesn't need to maintain overflow.
Assignee | ||
Updated•6 years ago
|
Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5f22cf5bfe6f
non-display outer SVG also doesn't maintain overflow r=longsonr
Comment 5•6 years ago
|
||
bugherder |
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 6•6 years ago
•
|
||
Hi Robert,
I found a minor improvement of my previous patch on the check condition for nondisplay outer svg frame.
Previously we use:
HasAllStateBits(NS_STATE_IS_OUTER_SVG | NS_FRAME_IS_NONDISPLAY) &&
GetContent()->IsSVGElement(nsGkAtoms::svg)
That's ok, but a better way would be using https://dxr.mozilla.org/mozilla-central/source/layout/generic/nsIFrame.h#2804:
IsSVGOuterSVGFrame() && HasAnyStateBits(NS_FRAME_IS_NONDISPLAY)
So that we can directly check the frame and avoid a level of indirection to the element.
How to submit a minor improvement like this?
BTW, then I don't know what's the purpose of having the flag NS_STATE_IS_OUTER_SVG at all, we can just check IsSVGOuterSVGFrame(). Do we need to clean up this flag?
Comment 7•6 years ago
|
||
(In reply to violet.bugreport from comment #6)
How to submit a minor improvement like this?
Big/small makes no difference, raise a new bug.
BTW, then I don't know what's the purpose of having the flag NS_STATE_IS_OUTER_SVG at all, we can just check IsSVGOuterSVGFrame(). Do we need to clean up this flag?
Good idea, go for it.
Description
•